package cn.groupmarket.domain.trade.service;

import cn.groupmarket.domain.trade.model.entity.MarketPayOrderEntity;
import cn.groupmarket.domain.trade.model.entity.PayActivityEntity;
import cn.groupmarket.domain.trade.model.entity.PayDiscountEntity;
import cn.groupmarket.domain.trade.model.entity.UserEntity;
import cn.groupmarket.domain.trade.model.valobj.GroupBuyProgressVO;

public interface ITradeOrderService {

    MarketPayOrderEntity queryNoPayMarketPayOrderByOutTradeNo(String outTradeNo,String userId);

    GroupBuyProgressVO queryGroupBuyProgress(String teamId);

    MarketPayOrderEntity lockMarketPayOrder(UserEntity userEntity, PayDiscountEntity payDiscountEntity, PayActivityEntity payActivityEntity) throws Exception;

}
